home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 49
/
Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso
/
-serious-
/
misc
/
football
/
exec
/
updatesettings.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1999-11-29
|
6KB
|
286 lines
/* ***********************************************************************
UPDATE SETTINGS PROGRAM FOR FOOTBALL REXX SUITE
------------------------------------------------
Copyright Mark Naughton 1999
Version Date History
--------------------------------------------------------------------------
1.0 250499 Created as a partner to Football to update the
settings and league name in all files.
250899 Added error msg to file checks.
270899 Converted to use locale. Some error messages, before
reading the locale, will still be in English.
**************************************************************************
Procedure
---------
1. Check files exist. Get league name from '.df' file.
2. Read '.sf' file into an array. Search array for indicator for league
name. When found, check to see if the names are different - if no, then
don't update, else write the new name into the array. When finished and
updates have been made, write the new data into the old file.
3. Repeat step 2 for '.sflearn' file.
4. Repeat step 2 for '.stats' file.
5. Exit.
************************************************************************** */
PARSE ARG league_file
version = 1
league_file = "Data/"strip(league_file)
input_file = '.df'
input2_file = '.sf'
input3_file = '.sflearn'
input4_file = '.stats'
title = '*LEAGUE_NAME='
sdlines. = '???'
separator = '*'
if open(datafile,"Data/Football.locale",'r') then do
line = readln(datafile)
locdir = strip(line)
close(datafile)
end
else do
say
say "ERROR : (UpdateSettings)"
say
say "Cannot read 'Data/Football.locale' for the locale settings."
exit
end
locdir = locdir"Exec/UpdateSettings.data"
if open(datafile,"ENV:FootballRXPath",'r') then do
line = readln(datafile)
rxdir = strip(line)
close(datafile)
end
else
rxdir = "SYS:Rexxc/"
if exists(locdir) > 0 then do
address command rxdir'rx 'locdir
VarCount = getclip('VarCount')
do i = 1 to VarCount
interpret getclip('var.'i)
end
end
else do
say
say "ERROR : (UpdateSettings)"
say
say "Cannot find '"locdir"' to read locale settings."
exit
end
if exists(league_file || input_file) = 0 then do
say
say us_error
say
say us_one"'"league_file||input_file"'."
exit
end
if exists(league_file || input2_file) = 0 then do
say
say us_error
say
say us_one"'"league_file||input2_file"'."
exit
end
if exists(league_file || input3_file) = 0 then do
say
say us_error
say
say us_one"'"league_file||input3_file"'."
exit
end
if exists(league_file || input4_file) = 0 then do
say
say us_error
say
say us_one"'"league_file||input4_file"'."
exit
end
if open(datafile,league_file || input_file,'r') then do
do while ~eof(datafile)
line = readln(datafile)
line = strip(line)
if pos(separator,line) > 0 then do
if pos(title,line) > 0 then do
parse var line "*LEAGUE_NAME=" league_title
league_title = strip(league_title)
end
end
end
close(datafile)
end
else do
say
say us_error
say
say us_two"'"league_file || input_file"'"us_three
exit
end
sdcount = 0
if open(datafile,league_file||input2_file,'r') then do
do while ~eof(datafile)
line = readln(datafile)
line = strip(line)
sdcount = sdcount + 1
sdlines.sdcount = line
end
close(datafile)
end
else do
say
say us_error
say
say us_two"'"league_file||input2_file"'"us_three
exit
end
mkt = 0
do i=1 to sdcount
if pos("**",sdlines.i) > 0 then do
parse var sdlines.i "**" ltitle
if pos(ltitle,league_title) = 0 then do
sdlines.i = "** "league_title
mkt = 1
leave
end
else do
mkt = 0
leave
end
end
end
if mkt = 1 then do
if open(datafile3,league_file || input2_file,'w') then do
do j=1 to sdcount
writeln(datafile3,sdlines.j)
end
close(datafile3)
end
else do
say
say us_error
say
say us_two"'"league_file || input2_file"'"us_four
exit
end
end
sdcount = 0
if open(datafile,league_file||input3_file,'r') then do
do while ~eof(datafile)
line = readln(datafile)
line = strip(line)
sdcount = sdcount + 1
sdlines.sdcount = line
end
close(datafile)
end
else do
say
say us_error
say
say us_two"'"league_file||input3_file"'"us_three
exit
end
mkt = 0
do i=1 to sdcount
if pos("**",sdlines.i) > 0 then do
parse var sdlines.i "**" ltitle
if pos(ltitle,league_title) = 0 then do
sdlines.i = "** "league_title
mkt = 1
leave
end
else do
mkt = 0
leave
end
end
end
if mkt = 1 then do
if open(datafile3,league_file || input3_file,'w') then do
do j=1 to sdcount
writeln(datafile3,sdlines.j)
end
close(datafile3)
end
else do
say
say us_error
say
say us_two"'"league_file || input3_file"'"us_four
exit
end
end
sdcount = 0
if open(datafile,league_file||input4_file,'r') then do
do while ~eof(datafile)
line = readln(datafile)
line = strip(line)
sdcount = sdcount + 1
sdlines.sdcount = line
end
close(datafile)
end
else do
say
say us_error
say
say us_two"'"league_file||input4_file"'"us_five
exit
end
mkt = 0
do i=1 to sdcount
if pos(title,sdlines.i) > 0 then do
parse var sdlines.i "*LEAGUE_NAME=" ltitle
if pos(ltitle,league_title) = 0 then do
sdlines.i = "*LEAGUE_NAME="league_title
mkt = 1
leave
end
else do
mkt = 0
leave
end
end
end
if mkt = 1 then do
if open(datafile3,league_file || input4_file,'w') then do
do j=1 to sdcount
writeln(datafile3,sdlines.j)
end
close(datafile3)
end
else do
say
say us_error
say
say us_two"'"league_file || input4_file"'"us_four
exit
end
end
exit